/**
 * **************************************************************
 * Nombre: ComparadorPonderacion.java 
 * Versión: 1.0.0 
 * Autor: Alberto de Jesús Castro Becerra, Alonso Fabián Orozco Pérez	
 * Creado: 1-abril-2013 
 * Modificado: 02-abril-2013 
 * Diagrama: GAPI v4.6.1 
 * Caso de uso: MGH1 
 * ***************************************************************
 */
package Servicios;

import Dominio.OpcionHorario;
import java.util.Comparator;

/**
 * Implementación de la interfaz Comparator, empleada para poder comparar dos opciones de horario
 * para determinar la mejor para el alumno.
 * @author alberto castro
 */
public class ComparadorPonderacion implements Comparator {

    /**
     * Compara dos opciones de horario verificando sus ponderaciones respectivas.
     * @param opcion1 Opción de horario 1.
     * @param opcion2 Opción de horario 2.
     * @return 0 si las opciones tienen la misma ponderación, 
     * 1 si la opción 1 tiene mayor ponderación que la 2 y
     * -1 si la opción 2 tiene mayor ponderación que la 1.
     */
    @Override
    public int compare(Object opcion1, Object opcion2) {
        OpcionHorario opcionHorario1 = (OpcionHorario) opcion1;
        OpcionHorario opcionHorario2 = (OpcionHorario) opcion2;

        if (opcionHorario1.getPonderacionTotal() == opcionHorario2.getPonderacionTotal()) {
            return 0;
        } else if (opcionHorario1.getPonderacionTotal() > opcionHorario2.getPonderacionTotal()) {
            return 1;
        } else {
            return -1;
        }
    }
}
